package com.china.svc.comprehensivetest.baseGather.base;

import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

/**
 * Fragment基类，所有的Fragment都需要继承此类。
 * 封装查看子控件，设置监听器，初始化数据
 */
public abstract class BaseFragment extends Fragment
        implements IUIOperation {

    /**
     * Fragmen 显示的布局
     */
    public View mRoot;
    /**
     * 管理fragment 的Activity
     */
    public BaseActivity mActivity;

    @Override
    public void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //初始化Activity
        mActivity = (BaseActivity) getActivity();
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        if (mRoot == null) {
            mRoot = inflater.inflate(getLayoutRes(), null);
            initView();
            initListener();
            initData();
        }

        return mRoot;
    }

    //    /**\
    //     *设置界面标题
    //     * @param title
    //     */
//    protected void setPageTitle(String title) {
//        TextView tvTitle = findView(R.id.tv_title);
//        if (tvTitle != null) {
//            tvTitle.setText(title);
//        }
//    }

    /**
     * 子界面查找器，忽略强转 直接使用
     *
     * @param id
     * @param <T>
     * @return
     */
    protected <T> T findView(int id) {
        return (T) mRoot.findViewById(id);
    }
}

